package Stream流;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.stream.Stream;

public class 获取流水线 {
    public static void main(String[] args) {
        //1.单列集合获取Stream流
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"a","b","c","d","e");
        //获取一条流水线,并把集合中的数据放到流水线中
        Stream<String> stream1 = list.stream();
        //使用终结方法打印一下流水线上的所有数据
        stream1.forEach(s -> System.out.println(s));

        //2.双列集合转化为单列集合后使用Stream流
        //创建双列集合
        HashMap<String,Integer> hm=new HashMap<>();
        //添加数据
        hm.put("aaa",111);
        hm.put("bbb",222);
        hm.put("ccc",333);
        hm.put("ddd",444);
        //第一种:获取Stream流
        Stream<String> stream2 = hm.keySet().stream();
        //第二种:获取Stream流
        hm.entrySet().stream().forEach(stringIntegerEntry -> System.out.println(stringIntegerEntry));

        //3.数组获取Stream流
        //创建数组
        //因为可变参数的底层就是一个数组而Stream.of()中就是可变参数
        //所以数组还可以通过Stream.of获取流水线.
        int[] arr={1,2,3,4,5,6,7,8,9};
        //获取Stream流
        Arrays.stream(arr).forEach(value -> System.out.println(value));

        //4.一堆零散的数据获取Stream流
        Stream.of(1,2,3,4,54,5,6).forEach(integer -> System.out.println(integer));


    }
}
